<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body></body>
  <script>
    /* 
      Set
        - Set用来创建一个集合
        - 它的功能和数组类似，但是它不允许有重复的值
        - 它是一种无序的集合，元素的顺序是不确定的
        - 它可以用来存储各种类型的值，包括对象、字符串、数字、布尔值等
      - 使用方式：
          创建
            - new Set() 创建一个空集合
            - new Set([...]) 
      方法
          size: 返回集合的大小
          add(value): 添加一个元素到集合中
          delete(value): 从集合中删除一个元素
          has(value): 判断集合中是否有某个元素
          clear(): 清空集合
          keys(): 返回一个包含集合中所有元素的迭代器
          values(): 返回一个包含集合中所有元素的迭代器
          entries(): 返回一个包含集合中所有元素的迭代器，每个元素是一个数组，第一个元素是元素的值，第二个元素是元素本身
          forEach(callbackFn, thisArg): 遍历集合中的每个元素，并执行回调函数
    */
    let set1 = new Set();
    set1.add(2);
    set1.add(1);
    set1.add(3);
    set1.add("fsfd");
    let arr = [...set1];
    console.log(arr, "arr");
    console.log(set1);
    console.log(set1.size);
    console.log([...set1]);
    console.log(set1.has("fsfd"));
    for (let val of set1) {
      console.log(val);
    }
    console.log(set1.keys());
    console.log(set1.values());
    let entries = set1.entries();
    console.log(entries);
  </script>
</html>
